覚えておけば役に立つ!!基本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
仮想ログファイル情報確認
データベース名変更
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