• sqlserver数据库文件相关知识


    在SQL Server 数据库中

    文件有三大类:

      主数据文件:扩展名为.mdf。

        主数据文件是数据库的关键文件,是所有数据文件的起点,包含指向其他数据库文件的指针,每个数据库都必须有且仅有一个主文件

      辅数据文件:扩展名为.ndf。

         辅助主文件存储数据,包含不在主文件内的其他数据,一个数据库可以有0~n个辅文件

      日志文件:扩展名为.ldf。

        记录存放恢复数据库时所需要的所有日志信息,一个数据库可有1~n个日志文件

     一个数据库必须至少包含一个主数据文件和一个日志文件。

    文件组分为两种:

    主文件组(PRIMARY)

      存放主数据库文件和任何没有明确指定文件组的其他文件。

    用户定义文件组

      在创建火修改数据库时,用FileGroup关键字定义的文件组,存放辅数据文件。

    文件组的特性:

    (1)一个文件只能属于一个文件组;

    (2)只有数据文件才能归属于某个文件组,日志文件不属于任何文件组;

    (3)每个数据库中都有一个默认的文件组在运行,可以指定默认文件组,没有指定的话,则默认为主文件组;

    (4)若没有用户定义文件组,则所有的数据文件都存放在主文件组中。

     查看文件存放位置

    选择对应的数据库文件,右击属性,选择文件,即可查找文件存放的位置;

     使用命令的方式查询文件存放位置

    select database_id,name,physical_name AS CurrentLocation,state_desc,size
    from sys.master_files 
    where database_id=db_id(N'master');

    修改存放位置

    alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');
    alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');
    
    alter database testDb modify file ( name = testDb, filename = 'D:Program FilesSQL_DATA	estDb	estDb.mdf');
    alter database testDb modify file ( name = testDb_log, filename = 'D:Program FilesSQL_DATA	estDb	estdb_log.ldf');

    后续其他文件也统一存放,需要修改默认配置:

    EXEC xp_instance_regwrite 
    @rootkey='HKEY_LOCAL_MACHINE', 
    @key='SoftwareMicrosoftMSSQLServerMSSQLServer', 
    @value_name='DefaultData', 
    @type=REG_SZ, 
    @value='D:Program FilesMSSQL_MDFData' 
    GO 
    EXEC master..xp_instance_regwrite 
    @rootkey='HKEY_LOCAL_MACHINE', 
    @key='SoftwareMicrosoftMSSQLServerMSSQLServer', 
    @value_name='DefaultLog', 
    @type=REG_SZ, 
    @value='D:Program FilesMSSQL_MDFData' 
    GO

    Management studio的使用

    参考官方文档

    https://docs.microsoft.com/zh-cn/sql/ssms/tutorials/connect-query-sql-server?view=sql-server-ver15

    创建一个名为 TutorialDB 的数据库:

    USE master
    GO
    IF NOT EXISTS (
       SELECT name
       FROM sys.databases
       WHERE name = N'TutorialDB'
    )
    CREATE DATABASE [TutorialDB]
    GO

    执行查询,请选择“执行”(或选择键盘上的 F5)

    在新创建的 TutorialDB 数据库中创建一个表。

    USE [TutorialDB]
    -- Create a new table called 'Customers' in schema 'dbo'
    -- Drop the table if it already exists
    IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL
    DROP TABLE dbo.Customers
    GO
    -- Create the table in the specified schema
    CREATE TABLE dbo.Customers
    (
       CustomerId        INT    NOT NULL   PRIMARY KEY, -- primary key column
       Name      [NVARCHAR](50)  NOT NULL,
       Location  [NVARCHAR](50)  NOT NULL,
       Email     [NVARCHAR](50)  NOT NULL
    );
    GO
  • 相关阅读:
    C. Chessboard( Educational Codeforces Round 41 (Rated for Div. 2))
    B. Lecture Sleep( Educational Codeforces Round 41 (Rated for Div. 2))
    51Nod 1256 乘法逆元(扩展欧几里得)
    C
    B
    9.13 web基础知识
    web基础知识
    9.11 web基础知识
    9.10 web基础知识
    web 基础知识
  • 原文地址:https://www.cnblogs.com/zxh06820/p/13343039.html
Copyright © 2020-2023  润新知