Attach and Detach Database
Những câu lệnh t-sql thêm và loại bỏ database MS SQL Server
1. Attach Database ( Thêm database vào SQL SERVER)
-- Khai báo các biến hệ thống
Declare @database_name nvarchar(100); -- Tên database
Declare @pathdb nvarchar(300); -- Đường dẫn thư mục databsae
Declare @sql nvarchar(max)=N''; -- Câu lệnh sql query
Declare @err_state int =0; -- Trạng thái lỗi trả về
-- Điền thông tin attach db vào:
set @database_name=N'DTECH_HN'; --Tên database cần Attach vào
set @pathdb=N'D:\DATA' -- Đường dẫn thư mục chứa databse và log cần Attach vào
-- Thực thi câu lệnh
set @sql=@sql+'EXEC sp_attach_db @dbname = N'''+@database_name+''',
@filename1 = N'''+@pathdb+'\'+@database_name+'.mdf'',
@filename2 =N'''+@pathdb+'\'+ @database_name +'_log.ldf'''
BEGIN TRY
print @sql
exec(@sql)
END TRY
BEGIN CATCH
SELECT @err_state = ERROR_STATE()
END CATCH;
------------------------------------------------------------------------------------------------
if @err_state=3 -- Đã tồn tại Database cần attach vào rồi, thông báo, ko làm gì nữa
BEGIN
Print N'Đã tồn tại database ['+@database_name+'] trên SQL SERVER.'
END
------------------------------------------------------------------------------------------------
if @err_state=101 -- Thực hiện câu lệnh Attach lại khi file mdf không có _LOG trong tên file
BEGIN
-- Thực thi câu lệnh
set @sql='EXEC sp_attach_db @dbname = N'''+@database_name+''',
@filename1 = N'''+@pathdb+'\'+@database_name+'.mdf'',
@filename2 =N'''+@pathdb+'\'+ @database_name +'.ldf'''
print @sql
exec(@sql)
END2. Detach Database ( Gỡ bỏ database khỏi SQL SERVER)
3. ATTACH , DETACH NHIỀU DATABASES
Last updated