tabla significa restaurar que migrar esquema ejemplos datos crear compatibilidad sql-server tsql

sql server - significa - Crear una base de datos usando T SQL en una ubicación especificada



replicate sql ejemplos (6)

¿Cómo crear una base de datos utilizando secuencias de comandos T SQL en una ubicación específica? Digamos que quiero crear una base de datos de servidor SQL en D:/temp/dbFolder . ¿Como hacer esto?


Cuando crea la nueva base de datos, especifica la ubicación. Por ejemplo:

USE [master] GO CREATE DATABASE [AdventureWorks] ON PRIMARY ( NAME = N''AdventureWorks_Data'', FILENAME = N''C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/AdventureWorks_Data.mdf'' , SIZE = 167872KB , MAXSIZE = UNLIMITED, FILEGROWTH = 16384KB ) LOG ON ( NAME = N''AdventureWorks_Log'', FILENAME = N''C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/AdventureWorks_Log.ldf'' , SIZE = 2048KB , MAXSIZE = 2048GB , FILEGROWTH = 16384KB ) GO


De los libros de SQL Server un ejemplo donde los nombres de archivo de la base de datos se definen explícitamente:

USE master GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = ''c:/program files/microsoft sql server/mssql/data/saledat.mdf'', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = ''Sales_log'', FILENAME = ''c:/program files/microsoft sql server/mssql/data/salelog.ldf'', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO


  1. Crear carpeta en su sistema de archivos: D: / temp / dbFolder /
  2. Ejecute el script:

    USE master; GO CREATE DATABASE TestDB1 ON ( NAME = Sales_dat, FILENAME = ''D:/temp/dbFolder/TestDB1.mdf'') LOG ON ( NAME = Sales_log, FILENAME = ''D:/temp/dbFolder/TestDB1.ldf''); GO


Vea este enlace: CREATE DATABASE (Transact-SQL)

CREATE DATABASE [ADestinyDb] CONTAINMENT = NONE ON PRIMARY ( NAME = N''ADestinyDb'', FILENAME = N''D:/temp/dbFolder/ADestinyDb.mdf'' , SIZE = 3136 KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024 KB ) LOG ON ( NAME = N''ADestinyDb_log'', FILENAME = N''D:/temp/dbFolder/_log.ldf'' , SIZE = 832KB , MAXSIZE = 2048 GB , FILEGROWTH = 10 %)


Cree una carpeta en su sistema de archivos: D: / temp / dbFolder / y ejecute la secuencia de comandos siguiente (intente con el inicio de sesión ''sa'')

USE master CREATE DATABASE [faltu] ON PRIMARY ( NAME = N''faltu'', FILENAME = N''D:/temp/dbFolder/faltu.mdf'' , SIZE = 2048KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = N''faltu_log'', FILENAME = N''D:/temp/dbFolder/faltu_log.ldf'' , SIZE = 1024KB , FILEGROWTH = 10%)


Usar variables en Studio Manager expandiendo los ejemplos anteriores.

Crear carpetas y subcarpetas.
Ejemplo: carpeta raíz E: / MSSQL / DATA subcarpetas E: / MSSQL / DATA / DB y E: / MSSQL / DATA / Logs.

MKDIR "E:/MSSQL/DATA/DB" MKDIR "E:/MSSQL/DATA/Logs"

Cambia el nombre de la base de datos @DBNAME variable @Test_DB ''a tu'' DesiredName_DB ''

Cambie la ruta de la carpeta raíz @DataPath ''E: / MSSQL / DATA'' a las carpetas creadas anteriormente.

Ejecute el siguiente en Studio Manager

DECLARE @DBNAME VARCHAR(MAX) DECLARE @DataPath AS NVARCHAR(MAX) DECLARE @sql VARCHAR(MAX) SET @DBNAME = N''Test_DB'' SET @DataPath = N''E:/MSSQL/DATA'' SELECT @sql = ''USE MASTER'' EXEC (@sql) SELECT @sql = ''CREATE DATABASE ''+ quotename(@DBNAME) + '' ON PRIMARY ( NAME = '''''' + @DBNAME + ''_DB'''', FILENAME = '''''' + @DataPath + ''/DB/' + @DBNAME + ''.mdf'''', SIZE = 3136 KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024 KB ) LOG ON ( NAME = ''''''+ @DBNAME + ''_Log'''', FILENAME = ''''''+ @DataPath + ''/Logs/' + @DBNAME + ''_log.ldf'''', SIZE = 832KB , MAXSIZE = 2048 GB , FILEGROWTH = 10 % )'' EXEC (@sql)

U otra variación sobre el tema anterior.

DECLARE @DBNAME VARCHAR(MAX) DECLARE @DataFilePath AS NVARCHAR(MAX) DECLARE @LogFilePath AS NVARCHAR(MAX) DECLARE @sql VARCHAR(MAX) SET @DBNAME = N''Test_DB'' SET @DataFilePath = N''E:/MSSQL/DATA/DB/' SET @LogFilePath = N''E:/MSSQL/DATA/Logs/' SELECT @sql = ''USE MASTER'' EXEC (@sql) SELECT @sql = ''CREATE DATABASE ''+ quotename(@DBNAME) + '' ON PRIMARY ( NAME = '''''' + @DBNAME + ''_DB'''', FILENAME = '''''' + @DataFilePath + @DBNAME + ''.mdf'''', SIZE = 3136 KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024 KB ) LOG ON ( NAME = ''''''+ @DBNAME + ''_Log'''', FILENAME = ''''''+ @LogFilePath+ @DBNAME + ''_log.ldf'''', SIZE = 832KB , MAXSIZE = 2048 GB , FILEGROWTH = 10 % )'' EXEC (@sql)