Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách đổi tên cơ sở dữ liệu trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 26

Tình huống:

Chúng ta thường gặp phải tình huống cần đổi tên cơ sở dữ liệu. Hãy nghĩ về tình huống, bạn đang làm việc với tư cách là nhà phát triển SQL Server cho công ty Tài chính và họ có tên cơ sở dữ liệu là TechBrothersIT và họ muốn đổi tên thành Techbrothers. Bạn cần cung cấp các tập lệnh có thể chạy trong môi trường QA, UAT và Production.

Giải pháp:

Đổi tên bằng GUI: Việc đổi tên cơ sở dữ liệu
rất dễ dàng, bạn chỉ cần Nhấp chuột phải vào Cơ sở dữ liệu và sau đó chọn Đổi tên.
Cách đổi tên Cơ sở dữ liệu trong SQL Server - Hướng dẫn SQL Server / TSQL

Bạn sẽ thấy rằng tên của cơ sở dữ liệu sẽ nhắc bạn thay đổi. Hãy tiếp tục và thay đổi nó và nhấn Enter. Cách đổi tên cơ sở dữ liệu trong SQL Server - SQL Server / TSQL Hướng dẫn


/>
Cách đổi tên Cơ sở dữ liệu bằng TSQL: Bạn có thể sử dụng TSQL Để đổi tên cơ sở dữ liệu trong SQL Server.
1) Bằng cách sử dụng Thủ tục lưu trữ hệ thống Sp_Rename Chúng ta có thể sử dụng Thủ tục lưu trữ hệ thống sp_rename để đổi tên cơ sở dữ liệu trong máy chủ SQL. Giả sử chúng tôi muốn đổi tên TechBrtohersIT thành TechBrother. Chúng tôi có thể sử dụng tập lệnh bên dưới.
sp_renamedb 'OldDatabaseName','NewDatabaseName'


EXEC sp_renamedb 'TechBrothersIT','TechBrothers'

2) Sử dụng Cơ sở dữ liệu Alter với Sửa đổi Chúng tôi có thể sử dụng tập lệnh dưới đây để đổi tên. Trong ví dụ này, tôi đang đổi tên TechBrothersIT thành TechBrothers.
USE master;
GO
ALTER DATABASE TechBrothersIT
Modify Name = TechBrothers ;
GO

Lỗi Thường gặp: Giả sử rằng cơ sở dữ liệu đang được sử dụng bởi các ứng dụng khác nhau. bạn có thể gặp lỗi bên dưới.
Msg 5030, Mức 16, Trạng thái 2, Dòng 4
Không thể khóa riêng cơ sở dữ liệu để thực hiện thao tác.

Trong trường hợp này, bạn có thể hủy tất cả các kết nối trước khi bạn chạy tập lệnh đổi tên. Tập lệnh bên dưới có thể được sử dụng để hủy tất cả các kết nối trên cơ sở dữ liệu. Hãy đảm bảo với nhóm của bạn và các nhóm khác trước khi bạn hủy tất cả các kết nối trên cơ sở dữ liệu để đổi tên.
USE MASTER
GO
DECLARE @DatabaseName AS VARCHAR(500)
-->Provide the DataBaseName for which want to Kill all processes.
SET @DatabaseName='YourDataBaseName'
DECLARE @Spid INT
DECLARE KillProcessCur CURSOR FOR
  SELECT spid
  FROM   sys.sysprocesses
  WHERE  DB_NAME(dbid) = @DatabaseName
OPEN KillProcessCur
FETCH Next FROM KillProcessCur INTO @Spid
WHILE @@FETCH_STATUS = 0
  BEGIN
      DECLARE @SQL VARCHAR(500)=NULL
      SET @SQL='Kill ' + CAST(@Spid AS VARCHAR(5))
      EXEC (@SQL)
      PRINT 'ProcessID =' + CAST(@Spid AS VARCHAR(5))
            + ' killed successfull'
      FETCH Next FROM KillProcessCur INTO @Spid
  END
CLOSE KillProcessCur
DEALLOCATE KillProcessCur
 
 
 
 
 
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tập lệnh khoảng không quảng cáo thu thập SQL Server -1

  2. Cách sử dụng Tổng, Trung bình và Đếm trong Câu lệnh Chọn - Hướng dẫn SQL Server / TSQL Phần 128

  3. Công cụ tốt nhất để so sánh hai cơ sở dữ liệu SQL Server (lược đồ và dữ liệu) là gì?

  4. Cách chọn mọi hàng trong đó giá trị cột KHÔNG bị phân biệt

  5. Cách thực hiện truy vấn với group_concat trong máy chủ sql