数据库
sql server怎么排序?
一、sql server怎么排序?
开始之前,先确认排序规则(或大小写是否敏感)
1
2
3
4
5
6
7
8
9
10
--查看服务器排序规则(安装时指定的排序规则)
SELECT SERVERPROPERTY('COLLATION') AS ServerCollation
,DATABASEPROPERTYEX('tempdb','COLLATION') AS TempdbCollation
,DATABASEPROPERTYEX(DB_NAME(),'COLLATION') AS CurrentDBCollation
--查看数据库排序规则
SELECT name, collation_name FROM sys.databases
--当前数据库是否大小写敏感
SELECT CASE WHEN N'A'=N'a' THEN N'不敏感' ELSE N'敏感' END
此环境实例中:
服务器排序规则为 Chinese_PRC_BIN
当前数据库排序规则为 Chinese_PRC_CI_AS
若当前数据库创建的所有对象和执行脚本时,如果用到了变量、临时对象等,大小写不一致则出现问题。二进制(_BIN)排序规则是区分大小写的。
安装实例时指定的排序规则,就是 master 数据库的排序规则,同时 model 和 msdb 的排序规则也保持一致,而 tempdb 和用户数据库的排序规则都是参照 model 数据库一样的。
系统数据库是不能直接更改排序规则的,因此只能重建系统数据库,且让系统数据库的排序规则都一致。
重建实例排序规则和系统数据库排序规则:
1、备份系统数据库!必要的,失败了或者以后要使用当前环境时,还可以回退!
2、记住所有数据库及文件路径,保持到 excel 中。如果记得住所有数据库位置的话就不用了。
1
select DB_NAME(database_id) as name,physical_name from sys.master_files
3、导出服务器配置(sp_configure)到 excel。因为重建系统数据库后配置会被初始化。
4、导出账号信息到 txt。数据库重建,账户信息都会丢失,除了备份也要单独备份账号。(SQL Server 中登录账号与数据库用户迁移)
5、导出链接服务器生产脚本到 txt ,如果有的话。
6、导出代理作业到 txt 。
7、(如果还有其他配置,如审核、邮件配置、策略等,都保存出来,后续再重建)
8、分离所有用户数据库。
1
2
3
select 'ALTER DATABASE ['+name+'] SET SINGLE_USER WITH ROLLBACK IMMEDIATE'+char(10)+'go'+char(10)
+'EXEC master.dbo.sp_detach_db @dbname = N'''+name+''''+char(10)+'go'+char(10)
from sys.databases where name not in('master','model','msdb','tempdb')
9、停止所有数据库相关服务。
10、重建数据库并制定新的排序规则。打开命令行,进入安装目录。
1
2
cd D:\Software\en_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_520517
setup /QUIET /ACTION=REBUILDDATABASE /instancename=mssqlserver /SQLSYSADMINACCOUNTS=服务器账号 /sapwd=密码 /sqlcollation=Chinese_PRC_CI_AS
11、启动 SQL Server 引擎服务,其他暂不启动。
12、创建登录账户(之前导出的脚本)
13、附加所有用户数据库。
14、创建代理作业、链接服务器、更配置等!
完成!~
如果重建系统数据库后,还原 master 数据库,那么服务器排序规则和 master 数据库排序规则都还原和以前一样,所以不能还原,除非恢复到以前的环境。
如果还原 msdb 或 model ,该数据库排序规则也会还原,所以系统数据库备份都不要还原,重建系统数据库之后只能重新配置。
更改用户数据库排序规则
1
ALTER DATABASE test COLLATE Chinese_PRC_CI_AS
更改数据库排序规则时,需要更改下列内容:
>> 将系统表中的任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改为使用新的排序规则。
>> 将存储过程和用户定义函数的所有现有 char、varchar、text、nchar、nvarchar 或 ntext 参数和标量返回值更改为使用新的排序规则。
>> 将 char、varchar、text、nchar、nvarchar 或 ntext 系统数据类型和基于这些系统数据类型的所有用户定义的数据类型更改为使用新的默认排序规则。
对于数据库内字段定义的排序规则,参考下面的 设置或更改列排序规则。
设置或更改列排序规则:
1
2
3
4
5
6
7
8
--示例
CREATE TABLE dbo.MyTable(
PrimaryKey INT PRIMARY KEY,
CharCol VARCHAR(10) COLLATE French_CI_AS NOT NULL
);
GO
ALTER TABLE dbo.MyTable ALTER COLUMN CharCol VARCHAR(10) COLLATE Latin1_General_CI_AS NOT NULL;
GO
如果下列其中之一当前正在引用一个列,则无法更改该列的排序规则:
>> 计算列
>> 索引
>> 自动生成或由 CREATE STATISTICS 语句生成的分发统计信息
>> CHECK 约束
>> FOREIGN KEY 约束
二、sql 字段排序规则
在SQL数据库中,字段排序规则是一个重要的概念,它影响着数据的排列顺序和检索结果的准确性。数据库字段的排序规则决定了按照何种方式对数据进行排序,比如数字排序、字符串排序,以及不同语言环境下的排序规则。
SQL字段排序规则的作用
SQL字段排序规则定义了数据在数据库中的排列方式,这对于查询结果的正确性和顺序性至关重要。在排序规则中,最常见的情况是对字符串进行排序,这时候就需要根据字符的编码顺序来确定排序的结果。
另外,在多语言环境下,不同语言的排序规则也各不相同,需要根据具体的语言环境来定义合适的排序规则,以确保排序结果的准确性。
常见的SQL排序规则
在SQL中,常见的排序规则包括:
- ASC:升序排列,从小到大排序。
- DESC:降序排列,从大到小排序。
- BINARY:按照字节的值进行排序。
除了以上基本的排序规则外,SQL还提供了一些其他的排序规则,可以根据实际需求选择合适的排序规则来满足排序的要求。
SQL字段排序规则示例
以下是一个SQL字段排序规则的示例,用于展示不同字段排序规则对查询结果的影响:
SELECT * FROM table_name ORDER BY column_name COLLATE utf8_general_ci ASC;在上面的示例中,我们使用了UTF8编码的一般排序规则对字段进行升序排列,可以根据具体的排序需求来替换排序规则,以获得理想的排序效果。
结论
SQL字段排序规则是数据库查询中一个至关重要的因素,它直接影响着查询结果的准确性和完整性。了解不同的排序规则以及它们的应用场景,对于提高数据库查询效率和正确性具有重要意义。
三、sql server怎么导入数据库?
1.新建一个空数据库
2.右键-任务-还原-数据库
3.选择“源设备”,点击选择
4.选择“文件”,点击添加------找到你的bak,点击确定
5.回到前一个页面,点击选项,勾选“覆盖现有数据库”
6.ok
四、SQL Server数据库还原操作?
还原SQL Server2000数据库的.bak文件的具体步骤如下:
1.打开电脑,然后在电脑上找到并打开软件,打开sqlserver后在数据库上右键单击,点击‘还原数据库’。
2.在弹出式还原数据库界面中, 选择 "设备" 按钮后, 单击右侧有三个点的按钮以选择文件。
3.在选中备份设备界面中,选择‘添加’按钮。
4.在弹出的定位备份文件界面中,在电脑中的文件中选择需要还原的bak文件,选中,点击‘确定’。
5.选好bak文件之后,点击‘确定’就行了。这样就解决了还原SQL Server2000数据库的.bak文件的问题了。
五、SQL Server创建数据库失败?
可能是以下几种原因,可以逐一排查:
1、目录D:yuan不存在
2、在该目录下,SQL不具备操作文件权限
3、磁盘空间已满
4、未安装该SQL版本的最高SP补丁
5、SQL服务器程序文件损坏,需重新安装
六、sql server数据库怎么备份?
要备份SQL Server数据库,你可以通过以下几种方法进行备份:1. 使用SQL Server Management Studio (SSMS)进行备份: - 打开SSMS并连接到SQL Server实例。 - 在对象资源管理器中,展开“数据库”目录。 - 右键单击要备份的数据库,选择“任务”>“备份”。 - 在备份数据库对话框中,选择备份类型、备份组件和备份设备。 - 指定备份文件的位置和名称,并设置其他备份选项。 - 单击“确定”开始备份数据库。2. 使用Transact-SQL语句进行备份: - 打开SQL Server Management Studio并连接到SQL Server实例。 - 新建一个查询窗口。 - 使用"BACKUP DATABASE"语句指定数据库名称和备份设备,并设置其他备份选项。 - 运行查询以执行备份。示例:```BACKUP DATABASE [数据库名称]TO DISK = '备份文件路径和名称'WITH FORMAT, NAME = '备份名称';```3. 使用PowerShell脚本进行备份: - 打开PowerShell命令行界面。 - 使用`New-SqlBackup`命令指定数据库名称、备份文件路径和名称,并设置其他备份选项。 - 运行脚本以执行备份。示例:```Import-Module SQLPS -DisableNameCheckingNew-SqlBackup -ServerInstance 'SQL Server实例名称' -Database '数据库名称' -BackupFile '备份文件路径和名称' -Initialize -Name '备份名称'```无论选择哪种方法,备份数据库时最好考虑到备份频率和保存备份的时间。这样可以确保数据库的备份是最新且可恢复的。
七、如何复制sql server数据库?
法一:在企业管理器里找到数据库,右键,属性,可以看到数据库文件路径,然后停止服务管理器,就是右下角的绿色三角,然后去拷贝一份数据文件。 然后在企业管理器里附加数据库,换一个名字里就可以了。这样就是2份一模一样的数据库。到时候程序里选择性的连接就OK了 法二。企业管理器,新建一个数据库,选择该数据库,右键,备份数据库。好了后选择还原数据库。要在选项卡的“在现有数据库上强制还原”复选框那里打勾 效果一样,但是要注意路径要是本身存在的,否则报错,(此方法无需停止服务管理器,但是操作不细致容易出错)
八、SQL Server数据库怎么重启?
错误代码:0x851A001A(win server2012 r2域环境下安装sql2012 sp1后报错) 解决方法:把启动Database engine的帐户改为NT Authority\Network Service 操作步骤: 1、变更[SQL Server Database Engine]的帐户名称,选择“浏览” 2、输入Network Service,再按“检查名称”搜寻Network Service以使用此帐户
九、SQL Server如何创建数据库?
新建数据库是我们开始数据库学习的重要一步。今天我们来讲一下用Sql Server可视化的新建数据库。
工具/原料
Sql Server 2008
方法/步骤
1、打开Sql Server Management Studio软件(Sql Server管理工具),输入账号密码登录。登录成功后,我们在左侧可以看到一个"对象资源管理器"的框。
2、点击展开"数据库",我们可以看到安装自带的一些数据库名称。在"数据库"上点击右键,选择新建数据库。
3、这时会弹出新建数据库的弹框,在数据库名称输入你想新建的数据库名。
4、新建数据库会生成两个文件,数据文件(.mdf)和日志文件(.ldf),我们可以根据自己需要设置初始大小、自动增长模式和路径等。
5、配置好后点击确认,就成功新建了一个数据库。
注意事项
初次接触数据库,请大家多指教啊
十、SQL server数据库如何打开?
1、首先你要安装sql数据库 2、打开企业管理器 3、右键点击数据库--所有任务--附加数据库--选中你想加入的数据库的mdf文件,ldf文件会自动加入,然后却定,这样你就可以用你的数据库了。
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...