Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Mengganti Nama Database di SQL Server - Tutorial SQL Server / TSQL Bagian 26

Skenario:

Kita sering menghadapi situasi di mana kita perlu mengganti nama database. Pikirkan tentang situasi, Anda bekerja sebagai pengembang SQL Server untuk perusahaan Keuangan dan mereka memiliki nama database TechBrothersIT dan mereka ingin mengganti namanya menjadi Techbrothers. Anda perlu menyediakan skrip yang dapat dijalankan di lingkungan QA, UAT, dan Produksi.

Solusi:

Mengganti nama dengan GUI:
Mengganti nama database sangat mudah, Anda cukup Klik Kanan pada Database lalu pilih Rename.
Cara mengganti nama Database di SQL Server - Tutorial SQL Server / TSQL

Anda akan lihat bahwa nama database akan meminta Anda untuk mengubahnya. Silakan dan ubah dan tekan Enter. Cara Mengganti Nama Database di SQL Server - Tutorial SQL Server / TSQL



Cara Mengganti Nama Database dengan TSQL: Anda dapat menggunakan TSQL Untuk mengganti nama database di SQL Server.
1) Dengan menggunakan Sp_Rename System Stored ProcedureKita dapat menggunakan sp_rename system Stored Procedure untuk mengganti nama database di SQL server. Katakanlah kita ingin mengganti nama TechBrtohersIT menjadi TechBrother. Kita bisa menggunakan script di bawah ini.
sp_renamedb 'OldDatabaseName','NewDatabaseName'


EXEC sp_renamedb 'TechBrothersIT','TechBrothers'

2) Gunakan Alter Database dengan Modify Kita dapat menggunakan skrip di bawah ini untuk mengganti nama. Dalam contoh ini, saya mengganti nama TechBrothersIT Menjadi TechBrothers.
USE master;
GO
ALTER DATABASE TechBrothersIT
Modify Name = TechBrothers ;
GO

Kesalahan Umum: Katakanlah database sedang digunakan oleh aplikasi yang berbeda. Anda mungkin mendapatkan kesalahan di bawah ini.
Msg 5030, Level 16, State 2, Line 4
Database tidak dapat dikunci secara eksklusif untuk melakukan operasi.

Dalam hal ini, Anda dapat mematikan semua koneksi sebelum Anda menjalankan skrip rename. Script di bawah ini dapat digunakan untuk mematikan semua koneksi di database. Pastikan dengan tim Anda dan tim lain sebelum Anda mematikan semua koneksi di database untuk mengganti nama.
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. Perbaiki "Kesalahan overflow aritmatika mengonversi int ke tipe data numerik" di SQL Server

  2. Bagaimana cara memperbaiki Status Tertunda Pemulihan di Database SQL Server?

  3. Mensimulasikan fungsi group_concat MySQL di Microsoft SQL Server 2005?

  4. Grup Ketersediaan AlwaysOn SQL Server:Instalasi dan Konfigurasi. Bagian 2

  5. Bisakah SQL Server mengirim permintaan web?