Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да добавите регистрационен файл към база данни на SQL Server (T-SQL)

Когато създавате база данни в SQL Server, като използвате опциите по подразбиране, се създават един файл с данни и един регистрационен файл. Файлът с данни съхранява данните и обектите на базата данни (като таблици, изгледи, съхранени процедури и т.н.). Регистрационният файл съхранява информацията, която е необходима за възстановяване на всички транзакции в базата данни. Ако имате нарастваща база данни, може да се окажете в ситуацията, в която трябва да добавите нов регистрационен файл (и/или файл с данни).

Точно както можете да добавите още файлове с данни към съществуваща база данни в SQL Server, можете също да добавите още регистрационни файлове. Синтаксисът обаче е малко по-различен в зависимост от това дали създавате файл с данни или регистрационен файл. Добавянето на файл с данни изисква ADD FILE докато добавянето на регистрационен файл изисква ADD LOG FILE .

Тази статия демонстрира как да използвате T-SQL за добавяне на регистрационен файл към съществуваща база данни в SQL Server.

Пример

За да добавите регистрационен файл към съществуваща база данни, използвайте ALTER DATABASE изявление с ADD LOG FILE аргумент. Предоставете подробностите за новия регистрационен файл и изпълнете изявлението.

Ето един пример:

USE master;  
GO

ALTER DATABASE Solutions   
ADD LOG FILE 
(  
    NAME = Solutions_log_2,  
    FILENAME = '/var/opt/mssql/data/Solutions_log2.ldf',  
    SIZE = 10MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5%  
);
GO

Това добавя регистрационен файл с логическо име Solutions_log_2 към Solutions база данни. Уточняваме, че физическият път е /var/opt/mssql/data/Solutions_log2.ldf . Имайте предвид, че този път използва синтаксис на Linux/Mac. Ако използвате Windows, ще трябва да използвате приложимия синтаксис (обратни наклонени черти вместо наклонени черти).

Проверете резултата

Можете да проверите резултата, като изпълните следната заявка:

USE Solutions;  
GO

SELECT name, physical_name  
FROM sys.database_files;  
GO

Резултат:

name             physical_name                         
---------------  --------------------------------------
Solutions        /var/opt/mssql/data/Solutions.mdf     
Solutions_log    /var/opt/mssql/data/Solutions_log.ldf 
Solutions_dat_2  /var/opt/mssql/data/Solutions_dat2.ndf
Solutions_dat_3  /var/opt/mssql/data/Solutions_dat3.ndf
Solutions_log_2  /var/opt/mssql/data/Solutions_log2.ldf

Можем да видим новия регистрационен файл в списъка в допълнение към оригиналния регистрационен файл (както и различни файлове с данни).

В този пример избирам само две колони от sys.database_files изглед за показване. Можете също да използвате звездичката (* ), за да върнете всички колони, ако предпочитате.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2005 - Експортирайте таблицата програмно (изпълнете .sql файл, за да го изградите отново)

  2. Създайте база данни в SQL Server 2017

  3. Връщане на привилегии на таблица от свързан сървър в SQL Server (T-SQL примери)

  4. Предаване на масив към съхранена процедура на SQL Server

  5. Сравнете DATETIME и DATE, пренебрегвайки частта от времето