码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver数据库文件相关知识

时间:2020-07-20 10:59:43      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:select   odi   ast   tps   官方   默认   specified   nec   位置   

在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(Nmaster);

修改存放位置

alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = 文件存储路径);
alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = 文件存储路径);

alter database testDb modify file ( name = testDb, filename = D:\Program Files\SQL_DATA\testDb\testDb.mdf);
alter database testDb modify file ( name = testDb_log, filename = D:\Program Files\SQL_DATA\testDb\testdb_log.ldf);

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

EXEC xp_instance_regwrite 
@rootkey=HKEY_LOCAL_MACHINE, 
@key=Software\Microsoft\MSSQLServer\MSSQLServer, 
@value_name=DefaultData, 
@type=REG_SZ, 
@value=D:\Program Files\MSSQL_MDF\Data 
GO 
EXEC master..xp_instance_regwrite 
@rootkey=HKEY_LOCAL_MACHINE, 
@key=Software\Microsoft\MSSQLServer\MSSQLServer, 
@value_name=DefaultLog, 
@type=REG_SZ, 
@value=D:\Program Files\MSSQL_MDF\Data 
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 = NTutorialDB
)
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

 

sqlserver数据库文件相关知识

标签:select   odi   ast   tps   官方   默认   specified   nec   位置   

原文地址:https://www.cnblogs.com/zxh06820/p/13343039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!