SqlServer 单用户解决方案
- USE master;
- GO
- DECLARE @SQL VARCHAR(MAX);
- SET @SQL=''
- SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) -
- FROM master..sysprocesses
- WHERE dbid=DB_ID('数据库名'); <br>
- EXEC(@SQL);
- ALTER DATABASE 数据库名 SET MULTI_USER;
复制代码 SqlServer单表备份方案
- BCP(Bulk Copy Program)是SQL Server提供的实用程序,可以用来将数据导出到文件或从文件导入到数据库。以下是使用BCP备份单个表的步骤:
复制代码- 备份命令<br>bcp [数据库名].[架构].[表名] out D:\xxx.bcp -T -c<br>恢复命令:<br>bcp [数据库名].[架构].[表名] in D:\xxx.bcp -T -c
复制代码 SqlServer中json字段的操作
在SQL Server中,您可以使用内置的JSON功能来操作JSON数据。SQL Server 2016及更高版本引入了对JSON的原生支持。以下是一些常见的JSON操作:
JSON数据的查询:
- 使用JSON_VALUE函数来提取JSON对象中的特定属性值。
- 使用JSON_QUERY函数来提取JSON对象或数组。
- 使用JSON_UNQUOTE函数来删除JSON字符串的引号。
- DECLARE @json NVARCHAR(MAX) = '{"name": "John", "age": 30}'
- SELECT JSON_VALUE(@json, '$.name') AS Name
- -- 输出:Name
- SELECT JSON_QUERY(@json, '$.name') AS Name
- -- 输出:"John"
- SELECT JSON_UNQUOTE(JSON_VALUE(@json, '$.name')) AS Name
- -- 输出:John
复制代码 Json数据替换- declare @ExtraProperties varchar(2000)='{"test":"FirstAndLastMarking"}'
- SET @ExtraProperties=REPLACE(@ExtraProperties, 'FirstAndLastMarking', 'BeginEndMark')
- select @ExtraProperties ;
- --输出:'{"test":"BeginEndMark"}'
复制代码 JSON数组的操作:
- 使用OPENJSON函数来解析JSON数组,以便查询和操作数组中的元素。
- DECLARE @jsonArray NVARCHAR(MAX) = '[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]'
- SELECT *
- FROM OPENJSON(@jsonArray)
- WITH (Name NVARCHAR(50), Age INT)
- -- 输出:两行结果,每行包含Name和Age列
复制代码 JSON数据的修改:
- 使用JSON_MODIFY函数来更新JSON对象中的属性值。
- DECLARE @jsonObj NVARCHAR(MAX) = '{"name": "John", "age": 30}'
- SET @jsonObj = JSON_MODIFY(@jsonObj, '$.age', 31)
- -- 更新age属性的值为31
复制代码 JSON数据的构建:
- 使用FOR JSON子句将查询结果转换为JSON格式。
- SELECT FirstName, LastName
- FROM Employees
- FOR JSON AUTO
复制代码 JSON路径表达式:
- 使用JSON路径表达式来定位JSON数据中的特定元素。
- DECLARE @json NVARCHAR(MAX) = '{"info": {"address": {"city": "New York"}}}'
- SELECT JSON_VALUE(@json, '$.info.address.city') AS City
- -- 输出:New York
复制代码 .Net 通过EFCore.Tools生成对应数据库操作脚手架- //EfCore 6.0
- Scaffold-DbContext "server=xxx.xxx.xxx.xx;database=xxx;user id=sa;password=pwd.; " Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -F -ContextDir DBContext -ContextNamespace DBContext -UseDatabaseNames -Context SQLServerContext
- //EfCore7.0 由于加入了证书验证,如果没有证书需要加上 Encrypt=False
- Scaffold-DbContext "server=xxx.xxx.xxx.xx;database=xxx;user id=sa;password=pwd.; Encrypt=False" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -F -ContextDir DBContext -ContextNamespace DBContext -UseDatabaseNames -Context SQLServerContext
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |