首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server T-SQL 腳本:附加資料庫與修改邏輯檔名完整範例

     編輯:關於SqlServer

常用操作腳本彙整

1. 查詢邏輯檔名

-- 資料檔(通常 file_id = 1)
USE [資料庫名];
SELECT FILE_NAME(1) AS DataLogicalName;

-- 記錄檔(通常 file_id = 2)
USE [資料庫名];
SELECT FILE_NAME(2) AS LogLogicalName;

2. 附加資料庫

EXEC sp_attach_db 
    @dbname = N'資料庫名',
    @filename1 = N'資料庫完整路徑.mdf',
    @filename2 = N'記錄檔完整路徑.ldf';
GO

3. 建立登入並指定預設資料庫

EXEC sp_addlogin @loginame = N'登入名', @passwd = N'密碼', @defdb = N'資料庫名';
GO

4. 修復孤立使用者

-- 將登入與資料庫使用者對應
EXEC sp_change_users_login 'update_one', '登入名', '登入名';
GO

5. 修改邏輯檔名

-- 修改資料檔邏輯名稱
ALTER DATABASE [資料庫名]
MODIFY FILE (NAME = N'舊資料邏輯名', NEWNAME = N'新資料邏輯名');
GO

-- 修改記錄檔邏輯名稱
ALTER DATABASE [資料庫名]
MODIFY FILE (NAME = N'舊記錄邏輯名', NEWNAME = N'新記錄邏輯名');
GO

6. 其他實用指令

-- 變更資料庫擁有者
EXEC sp_changedbowner 'new_owner';
GO

-- 移除登入
EXEC sp_droplogin '登入名';
GO

-- 授與資料庫存取權限
EXEC sp_adduser @loginame = '登入名', @name_in_db = '使用者名', @grpname = 'db_owner';
GO

說明

  • sp_attach_db 在 SQL Server 2005+ 建議改用 CREATE DATABASE ... FOR ATTACH。
  • sp_addlogin、sp_change_users_login 為舊版相容程序,新版建議使用 CREATE LOGIN、ALTER USER ... WITH LOGIN。
  • 修改邏輯檔名需資料庫處於線上狀態,且無其他作用中交易。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved