可以采取什么措施来至少解决其中一个问题?
对于 ADS 和 SSMS,用户是在数据库中创建的,具有 db_datareader、db_datawriter 和 db_ddladmin 权限。他对 Azure SQL Server 实例具有贡献者角色。
在SSMS中,有时在连接到数据库时,它会访问尝试连接到主数据库的数据库。我们尝试手动输入数据库名称,但仍然出现相同的错误。
在 SQL Server -> Azure AD 管理员 -> 我什至尝试将该用户设置为管理员,即使 SSMS 显示相同的错误。
请帮忙。
ssms azure sql-server-2008 azure-active-directory azure-data-studio
我目前正在使用SQL Server Management Studio(版本9.00.3042.00)并单击"新建查询"并编写以下代码:
Select
colA,
colB,
colC
colD
From
table1
Run Code Online (Sandbox Code Playgroud)
当我单击解析(复选框)按钮以验证SQL语句时,它会显示"命令已成功完成".是不是解析按钮假设抓住这些简单的错误......
有没有人在Management Studio中遇到过这种行为?这才刚刚开始发生......
我在名为Contexts的数据库中创建了一个新的Schema.现在,当我想编写查询时,Management Studio无法识别属于新架构的表.它说:'无效的对象名称Contexts.ContextLibraries'...
Transact-SQL的:
INSERT INTO [Contexts].[ContextLibraries] (ChannelId, [IsSystem])
VALUES (@ChannelId, 1)
Run Code Online (Sandbox Code Playgroud)
当我在我的本地数据库上尝试相同的事情时,它确实有效......
有任何想法吗?
我确实尝试将用户的默认架构从dbo更改为上下文,但这不起作用.还检查了此用户拥有的模式中的上下文,但没有成功.
更新:显然sql查询确实有效,但编辑器提出错误说该对象无效.
我在SQL Server 2008上有一个相当大的表(20多列).我正在使用Microsofts SQL Server Management Studio打开表设计视图并添加一列.添加列后,我将其在列排序中向上移动.
下面的图像显示了我添加的列以及我试图将其移动到的位置,只需将其拖动几个位置即可.

在我完成这项工作之后,当我试图打开网站时,我会遇到异常.当我添加列而不在列排序中移动它时,一切正常.
有人可以帮我解决这个问题.这是MSSQL服务器,管理工作室中的错误还是其他出错的地方?
例外
Operand type clash: bit is incompatible with uniqueidentifier
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
[SqlException (0x80131904): Operand type clash: bit is incompatible with uniqueidentifier]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +404
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363
System.Data.SqlClient.SqlDataReader.HasMoreRows() +301
System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout) +422
NHibernate.Driver.NHybridDataReader.Read() +28
NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) +1383
NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) +114
NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) +195
[ADOException: could not execute query
[ …Run Code Online (Sandbox Code Playgroud) 我很少使用SQL Server,在专业的环境中我保持清晰!我正在做一个宠物项目,但我在编写脚本方面遇到了问题.
我有一个在线数据库,我需要从中提取所有内容.我使用SQL Server Management Studio中的Tasks> Generate Scripts选项.以下是脚本创建的一个insert语句的示例(我有1,000个这样的插入):
INSERT [dbo].[NewComics] ([NewComicId], [Title], [Subtitle], [ReleaseDate], [CollectionId]) VALUES (366, N'Hawk & Dove 1: ', N'First Strikes ', CAST(0x00009F6F00000000 AS DateTime), 248)
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
(a)我想从两个标题元素中删除所有空格(b)我不想要一个十六进制日期 - 我想要像2006-09-01这样的可读内容(yyyy-mm-dd)
INSERT [dbo].[NewComics] ([NewComicId], [Title], [Subtitle], [ReleaseDate], [CollectionId]) VALUES (366, N'Hawk & Dove 1:', N'First Strikes', '2006-09-01', 248)
Run Code Online (Sandbox Code Playgroud)
将约3,000个插入语句更改为此修订格式的最快方法是什么?
仅供参考 - 这是表格的设计:
[NewComicId] [int] NOT NULL,
[Title] [nchar](100) NOT NULL,
[Subtitle] [nchar](100) NULL,
[ReleaseDate] [datetime] NOT NULL,
[CollectionId] [int] NOT NULL,
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我在设计师中编辑过一张桌子.但是当我编写查询时,它不会在上下文菜单中显示列.有人能帮助我理解为什么吗?
所以我在SO中发现了大量的例子,展示了如何将动态SQL的结果分配给变量,但是我还没有找到一个以我试图的方式做到这一点......所以我要么就是这样做的错方式或我只是没有找到正确的语法来正确执行此操作.
基本上,我尝试使用存储过程从表中删除行(将其视为对表的审计)之前,从表中创建行的XML记录.我试图通过动态SQL执行此操作,以便可以从多个其他存储过程调用存储过程,这些存储过程对其相应的表执行删除操作,但在此之前它们传递必要的信息(包含选择的@sql变量)获取记录的声明)本审计存储程序.
Create Procedure dbo.AuditDelete(
@sql NVARCHAR(200),
@TableName VARCHAR(50),
@UserName NVARCHAR(256)
)
AS
DECLARE @XML XML
BEGIN
--at this point @sql will contain a select statement written by the calling stored procedure
--which is specifically written to return the record that is being deleted, example:
@sql = select * from my.table where tableId = 1 FOR XML AUTO
execute sp_executesql @sql, N'@XML XML OUTPUT', @XML = XML OUTPUT;
SELECT @XML
--I was doing this as a check to ensure that …Run Code Online (Sandbox Code Playgroud) 我在sql server中有2个表(我没有创建这些表,但我必须使用它们):
document
- document_id
- created_date
trade_document
- trade_document_id
- document_id *foreign key to document table
Run Code Online (Sandbox Code Playgroud)
今天,我添加了一堆新trade_document记录(自动创建相关的document_id,这是使用完成的ORM),但我想删除所有这些记录.
我想这样做相对于该删除added_date的document表
其中created_date>昨天
我也希望document删除相关记录.
我对sql不是很了解,到目前为止我所有的基本模板都没有做太多:
DELETE FROM db.schema.trade_document (I'm guessing some sort of join on document)
WHERE document.created_date > 11/10/15
Run Code Online (Sandbox Code Playgroud)
它不是一个声明,可能是多个
我有一个SQLExpress的本地安装,并使用SQL Server Management Studio访问它.
我BirdSite在SSMS中创建了一个新数据库,其中包含一个表TMasterCountry,其中包含以下列:
Id (int)
CountryName (varchar(50))
Run Code Online (Sandbox Code Playgroud)
Id主要的自动递增键在哪里.
当我Script table as...在对象资源管理器中使用该选项时,我能够使用以下SQL查看空表:
USE [BirdSite]
GO
SELECT [Id]
,[CountryName]
FROM [dbo].[TMasterCountry]
GO
Run Code Online (Sandbox Code Playgroud)
没有任何问题.
但是,使用相同的选项尝试插入一些数据,会打开这个SQL:
USE [BirdSite]
GO
INSERT INTO [dbo].[TMasterCountry]
([CountryName])
VALUES
(<CountryName, varchar(50),>)
GO
Run Code Online (Sandbox Code Playgroud)
所以我改变了线下VALUES到
(CountryName, 'test')
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行代码时,我收到了以下错误:
Msg 207,Level 16,State 1,Line 4
列名称"CountryName"无效.
消息110,第15级,状态1,第4行
INSERT语句中的列少于VALUES子句中指定的值.VALUES子句中的值数必须与INSERT语句中指定的列数相匹配.
有谁知道这里会发生什么?该列显然确实存在,因为我可以SELECT将数据很好.
在关于SO的一些类似问题之后,我尝试重新启动SSMS并尝试刷新本地Intellisense缓存,但运气好的话.我也尝试CountryName用方括号包围,但结果相同.
如何删除零
select CONVERT(varchar, CAST( -3563338 AS money), 1)
Run Code Online (Sandbox Code Playgroud)
产量
-3,563,338.00
Run Code Online (Sandbox Code Playgroud)
预期产出
-3,563,338
Run Code Online (Sandbox Code Playgroud)