如果您对sql-server–如何使用Redis作为SQLServer的缓存?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于sql-server–如何使用Redis作为SQ
如果您对sql-server – 如何使用Redis作为SQL Server的缓存?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于sql-server – 如何使用Redis作为SQL Server的缓存?的详细内容,我们还将为您解答redis怎么缓存sql数据的相关问题,并且为您提供关于c# – SQLite作为SQL Server的内存数据库、DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)、Kubernetes SQL Server或Azure SQL Server PaaS Azure SQL数据库容器化的SQL Server、SQL Server - SQL Server 2019 启用SQL Server验证Super Administrator(sa)用户登录的有价值信息。
本文目录一览:- sql-server – 如何使用Redis作为SQL Server的缓存?(redis怎么缓存sql数据)
- c# – SQLite作为SQL Server的内存数据库
- DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)
- Kubernetes SQL Server或Azure SQL Server PaaS Azure SQL数据库容器化的SQL Server
- SQL Server - SQL Server 2019 启用SQL Server验证Super Administrator(sa)用户登录
sql-server – 如何使用Redis作为SQL Server的缓存?(redis怎么缓存sql数据)
大约10分钟后,这个数据可能会变得陈旧,之后我想再次获得记录,并放入Redis.
该应用程序是一个.NET MVC应用程序.我在想,当用户登录到应用程序这个数据被拉出数据库(大约10秒钟),并放入Redis准备被MVC客户端使用.我会对该数据进行到期,然后当它变得陈旧时,它将从sql Server数据库中获取.
这听起来很合理吗?我有点害怕:
>用户可以在数据在Redis之前访问该页面
>如果Redis停止或不响应,我需要确保viewmodel可以从sql SErver直接获取,而Redis不在那里
解决方法
如有任何进一步细节请通知我.你只需要点火nuget命令,你几乎要运行.
c# – SQLite作为SQL Server的内存数据库
我正在为我的DAL使用dapper和ad hoc sql,并希望测试数据访问层而不依赖于sql Server.我使用了sqlite内存数据库.问题是sql语法和sqlite之间的sql语法不同.
例如,我有一个查询,使用offset和fetch next返回分页结果,但sqlite仅支持limit和offset.
如果您有任何建议让我在内存单元测试中做什么怎么办?我没有使用模拟db上下文的EF路由,因为dapper性能更高,并且不想使用存储过程,因为我也想测试我的sql.我不打算模拟我的数据库调用.
解决方法
//sql Server var dbFactory = new OrmliteConnectionFactory(connectionString,sqlServerDialect.Provider); //InMemory sqlite DB var dbFactory = new OrmliteConnectionFactory(":memory:",sqliteDialect.Provider);
然后,您可以使用任一数据库来创建,保留和查询POCO,例如:
using (var db = dbFactory.open()) { db.DropAndCreateTable<Poco>(); db.Insert(new Poco { Name = name }); var results = db.Select<Poco>(x => x.Name == name); results.PrintDump(); }
但是如果使用Custom SQL API’s to execute MSSQL-specific SQL你将无法对sqlite执行.您可以使用mockable support in OrmLite,但我个人建议坚持使用Ormlite的RDBMS不可知类型的API.
DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)
- 1. 引言
- 2. 配置数据库链接
- 3. 引入数据库驱动
- 4. 手动初始化数据库
- 5. 改写SQL
- 6. 其他
- 7. 参考
1. 引言
DataGear默认使用Derby数据库作为系统的元数据库,至于待分析的业务库则支持MySQL、SQL Server等。
Derby数据库足以支持系统的数据集、图表、看板等对象的管理,且不需要安装数据库服务,但由于目前DataGear不支持单点登录集成,因此项目上为了便于用户认证信息的统一管理,以及DataGear数据库的备份等,将Derby变更为SQL Server,与待分析的业务数据库一致。
在变更操作过程中,参考了DataGear官方说明,操作时遇到一些坑,记录下来分享与大家。
不少内容是引用官方文档的,直接抄来了。
gitee地址:
https://gitee.com/datagear/datagear
2. 配置数据库链接
在config/application.properties添加datasource.driverClassName、datasource.url、datasource.username、datasource.password配置项,配置新数据库连接。
- MySQL
datasource.driverClassName=com.mysql.cj.jdbc.Driverdatasource.url=jdbc:mysql://localhost:3306/datageardatasource.username=datageardatasource.password=datagear
- SQL Server
datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriverdatasource.url=jdbc:sqlserver://192.168.1.30:1433;SelectMethod=cursor;DatabaseName=datageardatasource.username=datageardatasource.password=datagear
3. 引入数据库驱动
在根目录下新建lib包,将JDBC驱动(sqljdbc4-4.0.jar)放入。
修改startup.bat为
java -Xbootclasspath/a:lib/sqljdbc4-4.0.jar -jar datagear-2.4.0.jar
4. 手动初始化数据库
此时运行startup,datagear将会按照配置的链接访问数据库,如果数据库配置以及驱动无误,则会进入下一步。
接着datagear检测到没有数据库,此时会自动创建数据库,使用的SQL是打包在jar文件中的,源码库路径为datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql。此SQL为Derby数据库,因此将执行失败。
扩展:可以用SQL server等数据库脚本替换了源码sql并打包,分发到项目上,项目上直接执行即可创建数据库,类似于Activity等的部署。
接着需要先改写Derby建库脚本为SQL server,改写后执行SQL,然后设置版本号,然后运行startup.bat即可。
坑:如果是新环境,DATAGEAR_VERSION(版本)表中的记录为空,此时按照官方说明执行SQL设置版本号将不起效。
UPDATE DATAGEAR_VERSION SET VERSION_VALUE=''当前版本号''
或许Derby支持数据不存在则insert的update骚操作,对于SQL server需要insert下。
此坑造成的效果时,启动时dategear查询到当前已有数据库,但版本为null,因此需要升级,且从头升级,于是执行打包的SQL。
5. 改写SQL
DataGear的(升级)SQL脚本非常漂亮,每个版本不论是否有SQL更新,都写有注释,供手工和自动执行时参考。
-------------------------------------------version[1.6.1], DO NOT EDIT THIS LINE!-----------------------------------------
如果是新环境,则需要从头执行到尾,如果是升级,则找到起始版本执行后边的SQL即可。
以下列举Derby转SQL server的几个常见操作。
- TIMESTAMP,巨坑,SQL server也有该数据类型,但意义不一样,改为datetime
- CURRENT_TIMESTAMP,当前时间,修改为(getdate()),获取当前时间
- 函数按照SQLserver语法改写,变量填写@即可。函数实现Derby不支持的replace、取余操作,datagear采用了java扩展,SQL server直接用系统函数、操作符即可,不需要.net扩展
- DATAGEAR_REPLACEREGEX,按官方说明,不必理睬即可,该正则表达式替换新版本中已废弃
- RENAME COLUMN ,重命名列,按照SQL server语法替换
- RENAME TABLE ,重命名表,按照SQL server语法替换
- 表中加字段,ADD COLUMN 去掉column
- ALTER COLUMN DS_TYPE SET NOT NULL;,修改列非空,SQL server需要找到原来的类型,一并修改。
- VARCHAR(10000),SQL server支持到8K,修改为VARCHAR(8000)
修改后的SQL Server版SQL为:
-------------------------------------------version[1.0.0], DO NOT EDIT THIS LINE!-----------------------------------------if not exists (select * from sysobjects where name=''DATAGEAR_VERSION'' and xtype=''U'')CREATE TABLE DATAGEAR_VERSION ( VERSION_MAJOR VARCHAR(50), VERSION_MINOR VARCHAR(50), VERSION_REVISION VARCHAR(50), VERSION_BUILD VARCHAR(50));goif not exists (select * from sysobjects where name=''DATAGEAR_USER'' and xtype=''U'')CREATE TABLE DATAGEAR_USER( USER_ID VARCHAR(50) NOT NULL, USER_NAME VARCHAR(50) NOT NULL, USER_PASSWORD VARCHAR(200) NOT NULL, USER_REAL_NAME VARCHAR(100), USER_EMAIL VARCHAR(200), USER_IS_ADMIN VARCHAR(20), USER_CREATE_TIME DATETIME, PRIMARY KEY (USER_ID), UNIQUE (USER_NAME));go--alter table DATAGEAR_USER alter column USER_CREATE_TIME datetime;--无法更改列 ''USER_CREATE_TIME'',因为它是 ''timestamp''。--alter table DATAGEAR_USER drop column USER_CREATE_TIME;--alter table DATAGEAR_USER add USER_CREATE_TIME DATETIME;--the password is ''admin''INSERT INTO DATAGEAR_USER VALUES(''admin'', ''admin'', ''4c6d8d058a4db956660f0ee51fcb515f93471a086fc676bfb71ba2ceece5bf4702c61cefab3fa54b'', '''', '''', ''true'', default);if not exists (select * from sysobjects where name=''DATAGEAR_SCHEMA'' and xtype=''U'')CREATE TABLE DATAGEAR_SCHEMA( SCHEMA_ID VARCHAR(50) NOT NULL, SCHEMA_TITLE VARCHAR(100) NOT NULL, SCHEMA_URL VARCHAR(200) NOT NULL, SCHEMA_USER VARCHAR(200), SCHEMA_PASSWORD VARCHAR(200), SCHEMA_CREATE_USER_ID VARCHAR(50), SCHEMA_CREATE_TIME DATETIME, SCHEMA_SHARED VARCHAR(20), DRIVER_ENTITY_ID VARCHAR(100), PRIMARY KEY (SCHEMA_ID));--alter table DATAGEAR_SCHEMA drop column SCHEMA_CREATE_TIME;--alter table DATAGEAR_SCHEMA add SCHEMA_CREATE_TIME DATETIME;-------------------------------------------version[1.1.0], DO NOT EDIT THIS LINE!------------------------------------------------------------------------------------version[1.1.1], DO NOT EDIT THIS LINE!------------------------------------------------------------------------------------version[1.2.0], DO NOT EDIT THIS LINE!------------------------------------------------------------------------------------version[1.3.0], DO NOT EDIT THIS LINE!------------------------------------------------------------------------------------version[1.4.0], DO NOT EDIT THIS LINE!-----------------------------------------if not exists (select * from sysobjects where name=''DATAGEAR_ROLE'' and xtype=''U'')CREATE TABLE DATAGEAR_ROLE( ROLE_ID VARCHAR(50) NOT NULL, ROLE_NAME VARCHAR(100) NOT NULL, ROLE_DESCRIPTION VARCHAR(200), ROLE_ENABLED VARCHAR(10) NOT NULL, ROLE_CREATE_TIME DATETIME, PRIMARY KEY (ROLE_ID));--alter table DATAGEAR_ROLE drop column ROLE_CREATE_TIME;--alter table DATAGEAR_ROLE add ROLE_CREATE_TIME DATETIME;if not exists (select * from sysobjects where name=''DATAGEAR_ROLE_USER'' and xtype=''U'')CREATE TABLE DATAGEAR_ROLE_USER( RU_ID VARCHAR(50) NOT NULL, RU_ROLE_ID VARCHAR(50) NOT NULL, RU_USER_ID VARCHAR(50) NOT NULL, PRIMARY KEY (RU_ID));ALTER TABLE DATAGEAR_ROLE_USER ADD FOREIGN KEY (RU_ROLE_ID) REFERENCES DATAGEAR_ROLE (ROLE_ID) ON DELETE CASCADE;ALTER TABLE DATAGEAR_ROLE_USER ADD FOREIGN KEY (RU_USER_ID) REFERENCES DATAGEAR_USER (USER_ID) ON DELETE CASCADE;ALTER TABLE DATAGEAR_ROLE_USER ADD CONSTRAINT UK_RU_ROLE_USER_ID UNIQUE (RU_ROLE_ID, RU_USER_ID);if not exists (select * from sysobjects where name=''DATAGEAR_AUTHORIZATION'' and xtype=''U'')CREATE TABLE DATAGEAR_AUTHORIZATION( AUTH_ID VARCHAR(50) NOT NULL, AUTH_RESOURCE VARCHAR(200) NOT NULL, AUTH_RESOURCE_TYPE VARCHAR(50) NOT NULL, AUTH_PRINCIPAL VARCHAR(200) NOT NULL, AUTH_PRINCIPAL_TYPE VARCHAR(50) NOT NULL, AUTH_PERMISSION SMALLINT NOT NULL, AUTH_ENABLED VARCHAR(10) NOT NULL, AUTH_CREATE_TIME DATETIME, AUTH_CREATE_USER_ID VARCHAR(50), PRIMARY KEY (AUTH_ID));--alter table DATAGEAR_AUTHORIZATION drop column AUTH_CREATE_TIME;--alter table DATAGEAR_AUTHORIZATION add AUTH_CREATE_TIME DATETIME;go--自定义REPLACE函数--srcStr 原始字符串--oldStr 要替换的旧子串--newStr 要替换的新子串CREATE FUNCTION DATAGEAR_REPLACE(@srcStr VARCHAR(500), @oldStr VARCHAR(100), @newStr VARCHAR(100)) RETURNS VARCHAR(500)asbegin--PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA EXTERNAL NAME ''org.datagear.management.util.DerbyFunctionSupport.replace''; return replace(@srcStr,@oldStr,@newStr);end;goif not exists (select * from sysobjects where name=''DATAGEAR_SQL_HISTORY'' and xtype=''U'')CREATE TABLE DATAGEAR_SQL_HISTORY( SQLHIS_ID VARCHAR(50) NOT NULL, SQLHIS_SQL VARCHAR(5000) NOT NULL, SQLHIS_SCHEMA_ID VARCHAR(50) NOT NULL, SQLHIS_USER_ID VARCHAR(50) NOT NULL, SQLHIS_CREATE_TIME DATETIME DEFAULT GETDATE(), PRIMARY KEY (SQLHIS_ID));--alter table DATAGEAR_SQL_HISTORY drop column SQLHIS_CREATE_TIME;--alter table DATAGEAR_SQL_HISTORY add SQLHIS_CREATE_TIME DATETIME;ALTER TABLE DATAGEAR_SQL_HISTORY ADD FOREIGN KEY (SQLHIS_SCHEMA_ID) REFERENCES DATAGEAR_SCHEMA (SCHEMA_ID) ON DELETE CASCADE;-------------------------------------------version[1.5.0], DO NOT EDIT THIS LINE!-------------------------------------------SQL数据集if not exists (select * from sysobjects where name=''DATAGEAR_SQL_DATA_SET'' and xtype=''U'')CREATE TABLE DATAGEAR_SQL_DATA_SET( DS_ID VARCHAR(50) NOT NULL, DS_NAME VARCHAR(100) NOT NULL, DS_SCHEMA_ID VARCHAR(50) NOT NULL, DS_SQL VARCHAR(1000) NOT NULL, DS_CREATE_USER_ID VARCHAR(50), DS_CREATE_TIME DATETIME, PRIMARY KEY (DS_ID));-- alter table DATAGEAR_DATA_SET drop column DS_CREATE_TIME;-- alter table DATAGEAR_DATA_SET add DS_CREATE_TIME DATETIME;--该字段后需要删除,约束将限制其删除--ALTER TABLE DATAGEAR_SQL_DATA_SET ADD FOREIGN KEY (DS_SCHEMA_ID) REFERENCES DATAGEAR_SCHEMA (SCHEMA_ID);--数据集属性if not exists (select * from sysobjects where name=''DATAGEAR_DATA_SET_PROP'' and xtype=''U'')CREATE TABLE DATAGEAR_DATA_SET_PROP( PROP_DS_ID VARCHAR(50) NOT NULL, PROP_NAME VARCHAR(100) NOT NULL, PROP_TYPE VARCHAR(50) NOT NULL, PROP_LABEL VARCHAR(100), PROP_ORDER INTEGER);ALTER TABLE DATAGEAR_DATA_SET_PROP ADD FOREIGN KEY (PROP_DS_ID) REFERENCES DATAGEAR_SQL_DATA_SET (DS_ID) ON DELETE CASCADE;ALTER TABLE DATAGEAR_DATA_SET_PROP ADD CONSTRAINT UK_DS_PROP_DS_ID_NAME UNIQUE (PROP_DS_ID, PROP_NAME);--数据集参数if not exists (select * from sysobjects where name=''DATAGEAR_DATA_SET_PAR'' and xtype=''U'')CREATE TABLE DATAGEAR_DATA_SET_PAR( PAR_DS_ID VARCHAR(50) NOT NULL, PAR_NAME VARCHAR(100) NOT NULL, PAR_TYPE VARCHAR(100) NOT NULL, PAR_REQUIRED VARCHAR(10), PAR_DEFAULT_VALUE VARCHAR(200), PAR_ORDER INTEGER);ALTER TABLE DATAGEAR_DATA_SET_PAR ADD FOREIGN KEY (PAR_DS_ID) REFERENCES DATAGEAR_SQL_DATA_SET (DS_ID) ON DELETE CASCADE; ALTER TABLE DATAGEAR_DATA_SET_PAR ADD CONSTRAINT UK_DS_PAR_DS_ID_NAME UNIQUE (PAR_DS_ID, PAR_NAME);--数据集输出if not exists (select * from sysobjects where name=''DATAGEAR_DATA_SET_EXPT'' and xtype=''U'')CREATE TABLE DATAGEAR_DATA_SET_EXPT( EXPT_DS_ID VARCHAR(50) NOT NULL, EXPT_NAME VARCHAR(100) NOT NULL, EXPT_TYPE VARCHAR(50) NOT NULL, EXPT_ORDER INTEGER);ALTER TABLE DATAGEAR_DATA_SET_EXPT ADD FOREIGN KEY (EXPT_DS_ID) REFERENCES DATAGEAR_SQL_DATA_SET (DS_ID) ON DELETE CASCADE;ALTER TABLE DATAGEAR_DATA_SET_EXPT ADD CONSTRAINT UK_DS_EXPT_DS_ID_NAME UNIQUE (EXPT_DS_ID, EXPT_NAME);--图表if not exists (select * from sysobjects where name=''DATAGEAR_HTML_CHART_WIDGET'' and xtype=''U'')CREATE TABLE DATAGEAR_HTML_CHART_WIDGET( HCW_ID VARCHAR(50) NOT NULL, HCW_NAME VARCHAR(100) NOT NULL, HCW_PLUGIN_ID VARCHAR(100) NOT NULL, HCW_UPDATE_INTERVAL INTEGER, HCW_CREATE_USER_ID VARCHAR(50), HCW_CREATE_TIME DATETIME, PRIMARY KEY (HCW_ID));-- alter table DATAGEAR_HTML_CHART_WIDGET drop column HCW_CREATE_TIME;-- alter table DATAGEAR_HTML_CHART_WIDGET add HCW_CREATE_TIME DATETIME;--图表-数据集信息if not exists (select * from sysobjects where name=''DATAGEAR_HCW_DS'' and xtype=''U'')CREATE TABLE DATAGEAR_HCW_DS( HCW_ID VARCHAR(50) NOT NULL, DS_ID VARCHAR(50) NOT NULL, DS_PROPERTY_SIGNS VARCHAR(500), DS_ORDER INTEGER);ALTER TABLE DATAGEAR_HCW_DS ADD FOREIGN KEY (HCW_ID) REFERENCES DATAGEAR_HTML_CHART_WIDGET (HCW_ID) ON DELETE CASCADE;ALTER TABLE DATAGEAR_HCW_DS ADD FOREIGN KEY (DS_ID) REFERENCES DATAGEAR_SQL_DATA_SET (DS_ID) ON DELETE CASCADE;--看板if not exists (select * from sysobjects where name=''DATAGEAR_HTML_DASHBOARD'' and xtype=''U'')CREATE TABLE DATAGEAR_HTML_DASHBOARD( HD_ID VARCHAR(50) NOT NULL, HD_NAME VARCHAR(100) NOT NULL, HD_TEMPLATE VARCHAR(100) NOT NULL, HD_TEMPLATE_ENCODING VARCHAR(50), HD_CREATE_USER_ID VARCHAR(50), HD_CREATE_TIME DATETIME, PRIMARY KEY (HD_ID));-- alter table DATAGEAR_HTML_DASHBOARD drop column HD_CREATE_TIME;-- alter table DATAGEAR_HTML_DASHBOARD add HD_CREATE_TIME DATETIME;-------------------------------------------version[1.6.0], DO NOT EDIT THIS LINE!-------------------------------------------ALTER TABLE DATAGEAR_HTML_DASHBOARD ALTER COLUMN HD_TEMPLATE SET DATA TYPE VARCHAR(500);-------------------------------------------version[1.6.1], DO NOT EDIT THIS LINE!------------------------------------------------------------------------------------version[1.7.0], DO NOT EDIT THIS LINE!-------------------------------------------自定义正则REPLACE函数,目前仅用于下面修改数据标记--srcStr 原始字符串--oldStr 要替换的正则表达式--newStr 要替换的新子串--CREATE FUNCTION DATAGEAR_REPLACEREGEX(srcStr VARCHAR(500), oldStr VARCHAR(100), newStr VARCHAR(100)) RETURNS VARCHAR(500)--PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA EXTERNAL NAME ''org.datagear.management.util.DerbyFunctionSupport.replaceRegex''; --扩充SQL字段ALTER TABLE DATAGEAR_SQL_DATA_SET ALTER COLUMN DS_SQL VARCHAR(8000);-------------------------------------------version[1.8.0], DO NOT EDIT THIS LINE!-------------------------------------------默认值字段改为描述字段--RENAME COLUMN DATAGEAR_DATA_SET_PAR.PAR_DEFAULT_VALUE TO PAR_DESC;exec sp_rename ''DATAGEAR_DATA_SET_PAR.PAR_DEFAULT_VALUE'',''PAR_DESC'' --移除数据集输出项表DROP TABLE DATAGEAR_DATA_SET_EXPT;--扩充图表数据集数据标记列ALTER TABLE DATAGEAR_HCW_DS ALTER COLUMN DS_PROPERTY_SIGNS VARCHAR(1000);--添加图表数据集别名列ALTER TABLE DATAGEAR_HCW_DS ADD DS_ALIAS VARCHAR(100);--添加图表数据集参数值列ALTER TABLE DATAGEAR_HCW_DS ADD DS_PARAM_VALUES VARCHAR(1000);-------------------------------------------version[1.8.1], DO NOT EDIT THIS LINE!------------------------------------------------------------------------------------version[1.9.0], DO NOT EDIT THIS LINE!----------------------------------------- -------------------------------------------version[1.10.0], DO NOT EDIT THIS LINE!-------------------------------------------添加数据集参数输入框类型ALTER TABLE DATAGEAR_DATA_SET_PAR ADD PAR_INPUT_TYPE VARCHAR(50);--添加数据集参数输入框载荷ALTER TABLE DATAGE
Kubernetes SQL Server或Azure SQL Server PaaS Azure SQL数据库容器化的SQL Server
我将发表评论作为答案。
Azure SQL数据库
这是一项服务,可为您管理数据库的艰苦工作。 包括:
- 备份和还原
- 高可用性
- 数据复制
- 缩放
- 选择合适的硬件
- 始终保持最新状态,如果推出新版本,则可以提高兼容性级别,并可以使用新功能
- 安全性
- Azure AD集成
- 索引建议
- 弹性池
- 天蓝色支持
- 许可
您在Azure SQL数据库中无法做的事情
- CLR:加载可从SQL Server执行的自定义.NET代码。
- 跟踪标记
- SQL代理作业(Elastic database jobs在预览中)
- 更改数据捕获(cdc)
- 跨数据库事务
- 数据库邮件
- 附加数据库
-
BACKUP
或RESTORE
语句 - 更改排序规则
- 镜像
- 快照
- 一些DBCC语句
- 一些DMV的
- 链接服务器
- 批量导入时的最小日志记录
- OpenQuery / OpenDataSource
- 资源总监
- 服务经纪人
- ...
请参见this comparison between Azure SQL Databases and Azure SQL Managed instances.
List of T-SQL differences
容器化的SQL Server
您只能运行Linux版本的SQL Server。其中仍然存在大量问题。 Azure照顾的所有事情,您需要做好自己的工作。它很新,所以您可能遇到一些以前从未见过的问题,但是社区正在不断发展。您还需要购买SQL Server许可证。
何时应使用容器化的SQL Server? 您想与云无关,能够切换云提供商。
目前,我不想在容器化的SQL Server上运行生产工作负载。当SQL Server Linux变得成熟时,这将会改变。
SQL Server - SQL Server 2019 启用SQL Server验证Super Administrator(sa)用户登录
SQL Server 2019 启用SQL Server验证Super Administrator(sa)用户登录
在项目开发过程中通常连接SQL Server时需要用SQL Server方式,所以我们需要先开启这种验证方式,然后再根据需要添加项目用户,设定相关权限。
先用Windows身份验证方式连接数据库,然后按照如下几步设置,完成后重启服务,切换验证方式即可使用sa登录。
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
关于sql-server – 如何使用Redis作为SQL Server的缓存?和redis怎么缓存sql数据的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# – SQLite作为SQL Server的内存数据库、DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)、Kubernetes SQL Server或Azure SQL Server PaaS Azure SQL数据库容器化的SQL Server、SQL Server - SQL Server 2019 启用SQL Server验证Super Administrator(sa)用户登录等相关知识的信息别忘了在本站进行查找喔。
本文标签: