OPENROWSET does not accept variables for its arguments (SQL Server)

If you’re trying to use OPENROWSET to run an ad hoc distributed query in SQL Server, but you keep getting an “incorrect syntax” error, and you just can’t see anything wrong with your syntax, it could be that you’re trying to use a variable for one of the arguments.

As mentioned in the title of this post, OPENROWSET does not accept variables for its arguments.

If you’re using variables as arguments, try changing these to string literals.

Read more

Return the Partition Number for Each Row When Querying a Partitioned Table in SQL Server (T-SQL)

If you’ve got a partitioned table in SQL Server, and you now want to run a query that includes the partition number on each row returned by the query, you can use the $PARTITION system function to do just that.

The $PARTITION function returns the partition number into which a set of partitioning column values would be mapped for any specified partition function.

You can therefore use it in your SELECT statement to return the partition that each row belongs to.

Read more

How to Fix “Procedure expects parameter ‘@statement’ of type ‘ntext/nchar/nvarchar’.” Error in SQL Server

It’s quite easy to encounter error Msg 214, Level 16 when executing stored procedures such as sp_executesql or sp_describe_first_result_set.

Fortunately it’s easy to fix too!

The most common reason for getting this error is that you forgot to prefix your string with N.

Therefore, to fix this issue, try prefixing your string with N.

Read more