[SQL Server] 覚えておけば役に立つ!!基本SQL~

inno
2013-10-11 15:21 4257 0
覚えておけば役に立つ!!基本SQL~


現在のデータベースに関連付けられたファイルの物理名と属性の確認

USE [tempdb]
GO

sp_helpfile
GO

実行結果



Database Fileサイズ拡張

ALTER DATABASE [データベース名]
MODIFY FILE (Name=ファイルの物理名, Size=サイズ)
GO

「tempdb」データベースのサイズを拡張してみよう。
上記のsp_helpfileの内容を参考します。

ALTER DATABASE [tempdb]
MODIFY FILE (Name=tempdev, Size=10MB)
GO

実行結果



Database Fileの最大サイズ設定

ALTER DATABASE [データベース名]
MODIFY FILE (Name=ファイルの物理名, MaxSize=サイズ)
GO

ALTER DATABASE [tempdb]
MODIFY FILE (Name=tempdev, MaxSize=20GB)
GO

実行結果



Database Fileのサイズ自動拡張

ALTER DATABASE [データベース名]
MODIFY FILE (Name=ファイルの物理名, Filegrowth=サイズ)
GO

ALTER DATABASE [tempdb]
MODIFY FILE (Name=tempdev, Filegrowth=100MB)
GO

実行結果



新しいFileGroupを追加する。

ALTER DATABASE [データベース名]
ADD FILEGROUP [グループ名] 
GO

ALTER DATABASE [データベース名]
ADD FILE 
(
Name=[ファイル名], FileName='[パス]'
, Size=10MB
, MaxSize=Unlimited,
, FileGrowth=10MB
) TO FILEGROUP [グループ名]
GO

例文)
ALTER DATABASE Test
ADD FILEGROUP DataGroup1
GO

ALTER DATABASE Test
ADD FILE 
(
Name=[Test_Data1], FileName='D:/SQLData/Test_Data1.ndf'
, Size=10MB
, MaxSize=Unlimited
, FileGrowth=10MB
) TO FILEGROUP DataGroup1
GO


Database Fileの圧縮

USE [データベース名]
GO

DBCC SHRINK FILE([ファイルの物理名], サイズ(単位:MB))
GO

例文)
USE [tempdb]
GO
--tempdevファイルのサイズを5MBに圧縮
DBCC SHRINK FILE(tempdev, 5)
GO


仮想ログファイル情報確認

DBCC LogInfo


データベース名変更

EXEC sp_renamedb [現在データベース名], [新しいデータベース名]
GO

例文)
EXEC sp_renameDB TestDB, TestDB_New
Go


DB所有者変更

EXEC sp_changedbowner '[ユーザー名]'
GO

例文)
EXEC sp_changedbowner 'sa'
GO


ログから待機発生可否を確認する。

DBCC SQLPERF(WAITSTATS)
Go


シングルユーザーに切り替える

ALTER DATABASE [データベース名]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE

例文)
ALTER DATABASE TestDB
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE


マルチユーザモードに切り替える

ALTER DATABASE [データベース名]
SET MULTI_USER 
WITH ROLLBACK IMMEDIATE

例文)
ALTER DATABASE TestDB
SET MULTI_USER 
WITH ROLLBACK IMMEDIATE


3秒後すべての作業をRollback後、マルチユーザモードに切り替える

ALTER DATABASE [データベース名]
SET MULTI_USER
WITH ROLLBACK AFTER 3 SECONDS

例文)
ALTER DATABASE TestDB
SET MULTI_USER
WITH ROLLBACK AFTER 3 SECONDS

コメント