sql >> Databáze >  >> RDS >> Sqlserver

Jak přejmenovat databázi v SQL Server - SQL Server / TSQL výukový program, část 26

Scénář:

Často se setkáváme se situací, kdy potřebujeme databázi přejmenovat. Zamyslete se nad situací, pracujete jako vývojář SQL Serveru pro finanční firmu a ta má název databáze TechBrothersIT a chtěla by se přejmenovat na Techbrothers. Musíte poskytnout skripty, které lze spouštět v QA, UAT a produkčním prostředí.

Řešení:

Přejmenování pomocí GUI:
Přejmenování databáze je velmi snadné, stačí kliknout pravým tlačítkem myši na databázi a vybrat Přejmenovat.
Jak přejmenovat databázi na SQL Server - SQL Server / Výukový program TSQL

Budete uvidíte, že název databáze vás vyzve ke změně. Pokračujte a změňte to a stiskněte Enter. Jak přejmenovat databázi na serveru SQL - SQL Server / Výukový program TSQL



Jak přejmenovat databázi pomocí TSQL: TSQL můžete použít k přejmenování databáze na SQL Serveru.
1) Pomocí systémové uložené procedury Sp_RenamePro přejmenování databáze na SQL serveru můžeme použít systémovou uloženou proceduru sp_rename. Řekněme, že bychom rádi přejmenovali TechBrtohersIT na TechBrother. Můžeme použít níže uvedený skript.
sp_renamedb 'OldDatabaseName','NewDatabaseName'


EXEC sp_renamedb 'TechBrothersIT','TechBrothers'

2) Použijte Alter Database s Modify K přejmenování můžeme použít níže uvedený skript. V tomto příkladu přejmenuji TechBrothersIT na TechBrothers.
USE master;
GO
ALTER DATABASE TechBrothersIT
Modify Name = TechBrothers ;
GO

Běžná chyba: Řekněme, že databázi používají různé aplikace. můžete se dostat pod chybu.
Zpráva 5030, úroveň 16, stav 2, řádek 4
Databázi nelze za účelem provedení operace výhradně uzamknout.

V tomto případě může zabít všechna připojení před spuštěním skriptu přejmenování. Níže uvedený skript lze použít k ukončení všech připojení v databázi. Ujistěte se se svým týmem a ostatními týmy, než zrušíte všechna připojení v databázi kvůli přejmenová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. Prague PostgreSQL Meetup

  2. Udělte uživateli oprávnění pro všechny nové tabulky vytvořené v postgresql

  3. Knihovna není načtena:chyba libmysqlclient.16.dylib při pokusu o spuštění „rails serveru“ v OS X 10.6 s gem mysql2

  4. Základy sys.dm_exec_requests