我在 SSMS 中连接到 Azure 上的 SQL 数据库
我右键单击登录 - 菜单中没有属性选择
如何更改登录密码?
我想将Excel文件链接到SSMS中的解决方案以方便参考。添加它们效果很好。它们显示在“杂项”下。SSMS 通过将徽标放在它们旁边来识别它们是 Excel 文件。但是,当我选择一个时,我收到错误。
微软 SQL Server 管理工作室
无法打开文件 Summary.xlsx。文件可能没有关联的编辑器。
奇怪的是,一旦选择,我可以双击该文件,它就会按预期在 Excel 中打开。
我尝试在“工具”>“选项...”>“文本编辑器”>“文件扩展名”中设置扩展名,但显然,这是针对文本编辑器的。列表中的可用编辑器都不是 Excel 编辑器。因此,我将其设置为自动编辑器选择器 (XML)选项。错误仍然发生。
我还评论过Management Studio 无法识别其他文件扩展名,并且不认为这是同一个问题。如果我错了,请纠正我。
这个想法只是为了让文件方便。我可以双击它们在 Excel 中打开它们,但是有什么方法可以消除选择文件时发生的错误吗?我正在做的事情是不寻常的做法吗?
组件名称 | 版本 |
---|---|
SQL Server管理工作室 | 19.0.20209.0+f9a9d8f6 |
SQL Server 管理对象 (SMO) | 16.200.48036.0+7d3b143d945e1aa638acdb02c0364e263d5ec973 |
微软 T-SQL 解析器 | 16.0.22524.0+62eedb15cd3cde34e51c8fbbdf9b06e575ec912e |
Microsoft 分析服务客户端工具 | 16.0.19993.0 |
Microsoft 数据访问组件 (MDAC) | 10.0.19041.3208 |
微软MSXML | 3.0 6.0 |
微软.NET框架 | 4.0.30319.42000 |
操作系统 | 10.0.19045 |
我有一个可能是一个基本问题,但我自己没有任何搜索/尝试的地方。
我想要完成的任务:对 Dynamics NAV 使用的 SQL DB 运行跟踪并获取特定用户的活动。(上下文/最终目标是找出不同用户缺少哪些权限。)
我尝试过使用不同的模板运行跟踪,包括我为尝试获得我想要的内容而制作的自定义模板。但是,捕获的所有活动仅针对我运行跟踪的用户(管理员帐户)。如果我使用 LoginName 或 NTUsername 进行过滤,我什么也得不到,因为它显然没有捕获该数据。
我如何才能真正捕获其他用户的操作?任何帮助是极大的赞赏。我一直在使用 MS 的 SQL Server Profiler 来运行跟踪。SSMS 版本是 15.0.18183.0。
再次编辑:这很有帮助。我可以看到其他用户活动,但这不是我所期望的。我在想正在发生的事情是,所有实际的数据库活动都是通过 NAV 应用程序使用我可以看到的 2 个管理主体来处理的,这就是为什么我在 Profiler 结果中看不到 NAV 应用程序用户主体的原因。也许我错了,但我看不到任何其他解释为什么我看不到他们的活动。
我安装了 SSMS 19 Preview 4,但它没有调试菜单或调试选项。我还了解到 SSMS V17 是具有该功能的最后一个版本。然后我决定尝试 Azure Data Studio,但仍然看不到调试选项。有人可以指导我如何使用 Azure Data Studio IDE 调试 SP 吗?
我使用 SSMS 管理一些本地 SQL Server,已经这样做了一段时间。过去,我设置了一个本地 git 存储库来存储我所有的脚本,这对我来说非常有用。
时代变了,有了更多的团队成员和更多的服务器,我已经将我所有的脚本上传到我公司的 Azure DevOps 实例,这是 100% 无痛的。当我开始使用 SSIS/Visual Studio 时,我将项目存储在 Azure DevOps 中以启动,并且成功了。
我似乎无法弄清楚的是如何让SSMS 将 Azure DevOps 用于解决方案位置。有没有我缺少的插件?谷歌搜索它似乎没有任何结果。
我发现当我从安装在 ServerB 上的 SSMS 连接到远程 SQL 命名实例 (ServerA\instanceA) 时,它确实连接没有错误,但它使用了命名管道协议。
当我注意到 SQL 命名实例端口 (50002) 被防火墙阻止时,我发现了这一点。
从 SSMS(在 serverB 上),当我尝试连接到 ServerA,50002 时出现错误,但当我连接到 ServerA\InstanceA 时它成功。
我用谷歌搜索了它,但找不到任何好的文档来解释它的工作原理。
我检查了一下,没有看到 ServerA 的任何别名或任何特定配置。
如果您能帮助我了解它是如何(以及为什么)工作的,我将不胜感激。
我的计算机上安装了 Microsoft SQL Server 2019 Developer 版本,用于使用 .NET 进行本地开发工作。两个月前一切都运行良好,当时我最后一次在使用它的项目上工作。我终于回到了项目,但现在我的程序因以下错误而失败:“内部连接致命错误。错误状态 15,令牌:23 (System.Data)”。该程序使用 SQL Server 身份验证帐户。
当我尝试连接到数据库实例时,我在使用 SQL Server Management Studio (SSMS) 时遇到了同样的错误。这是一个保存的会话,localhost\MSSQL2019
它曾经可以工作。无论我使用 Windows 帐户还是 SQL 帐户,我都会收到错误消息。
我将 SSMS 更新到最新版本(18.12.1),但仍然出现错误。我还通过配置管理器确认了 IP 设置。
无奈之下,我卸载了 MSSQL 2019 开发版,重新启动并尝试通过从 Microsoft 全新下载的 DVD ISO 重新安装它。安装接近尾声,但失败并出现同样的错误。
我能够成功安装 MSSQL 2016 开发版并通过 SSMS 连接。但是,当我尝试将其升级到 2019 时,升级完成,但 SSMS 再次出现错误。
我使用的是 64 位 Windows 10 Pro 21H2,配备 Intel i7 处理器。
我在谷歌或必应上没有找到解决这个问题的方法。任何帮助表示赞赏。
为了完整起见,这里是完整的例外。
===================================
Testing the registered server failed. Verify the server name,
login credentials, and database, and then click Test again.
===================================
Internal connection fatal error. Error state: 15, Token : 23 (System.Data)
------------------------------
Program Location:
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover, Boolean isFirstTransparentAttempt, Boolean disableTnir)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.SqlServer.Management.RegisteredServers.NewRegisteredServerForm.testConnection_Click(Object sender, EventArgs e)
我有一个数据库,其中架构是:
CREATE TABLE [dbo].[Student]([Id] [int] NULL,[Name] [varchar](255) NULL,[Mark] [int] NULL)
INSERT [dbo].[Student] ([Id], [Name], [Mark]) VALUES (1, N'Medi', 10)
INSERT [dbo].[Student] ([Id], [Name], [Mark]) VALUES (2, N'Ibra', 15)
INSERT [dbo].[Student] ([Id], [Name], [Mark]) VALUES (3, N'Simo', 20)
所以查询select * from Student
:
ID | 姓名 | 标记 |
---|---|---|
1 | 医疗 | 10 |
2 | 伊布拉 | 15 |
3 | 西莫 | 20 |
但我想要第一行的标题是这样的:
ID | 姓名 | 标记 |
---|---|---|
ID | 姓名 | 标记 |
1 | 医疗 | 10 |
2 | 伊布拉 | 15 |
3 | 西莫 | 20 |
为了建立这个结果,
我已经用INFORMATION_SCHEMA
查询完成了这个:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Student'
COLUMN_NAME |
---|
ID |
姓名 |
标记 |
SELECT IIF(COLUMN_NAME='Id',COLUMN_NAME,'')Id,IIF(COLUMN_NAME='Name',COLUMN_NAME,'')Name,IIF(COLUMN_NAME='Mark',COLUMN_NAME,'') Mark
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Student'
ID | 姓名 | 标记 |
---|---|---|
ID | ||
姓名 | ||
标记 |
但我希望它们像这样排成一行:
ID | 姓名 | 标记 |
---|---|---|
ID | 姓名 | 标记 |
with cte as(
SELECT IIF(COLUMN_NAME='Id',COLUMN_NAME,'')Id,IIF(COLUMN_NAME='Name',COLUMN_NAME,'')Name,IIF(COLUMN_NAME='Mark',COLUMN_NAME,'') Mark
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Student'
)
select * from cte where id!=''
union
select * from cte where Name!=''
union
select * from cte where Mark!=''
我知道这不是正确的做法,但是我该怎么做呢?
我想从 SSMS 网格复制查询结果,但我不想使用带有标题的复制选项。看起来没什么用,但我想挑战自己去做。