ERROR - The instance of SQL Server you attempted to connect to does not support CTAIP - azure-sqldw

I have created a new Azure SQL Data Warehouse database on a new logical server from the backup of a Azure SQL Data Warehouse database on a different logical server (using the Azure portal). I created the LOGINs on the new MASTER database for the users that would connect to the new Azure SQL Data Warehouse database. The users were restored to the new Azure SQL Data Warehouse database as expected per:
SYS.DATABASE_PRINCIPALS
Now when I attempt to connect with those users, I receive an error:
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : The instance of SQL Server you attempted to connect to does not support CTAIP..
We use sql-server authentication, running the following on both the original and new MASTER:
CREATE LOGIN
the_userID
with password = 'xxxxxxxxxxxxxxxxx'
;
GO
and the following pattern on the original ADW database:
CREATE USER [the_userID] FROM LOGIN [the_userID]
;
GO
Is there any solution other than dropping and reCREATEing the users in the new ADW database?

CTAIP error is a rather poorly worded error message indicating the login (in master) does not have a corresponding user in the DW.
In this case, you need to drop the existing user in the DW and re-create it for the login in master.
It doesn’t work automagically (yet) because we track the association using security identifiers (SID) not names and the new login in master has a new/unique SID. AAD logins and contained users (not currently supported in DW) don’t have this problem.

Related

How to create a private temporary table in Oracle 19?

I am running Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production in a Docker container.
I created a user with CREATE SESSION and CREATE TABLE system privileges. User also has QUOTA UNLIMITED.
CREATE USER airflow IDENTIFIED BY pass;
GRANT CREATE SESSION TO airflow;
GRANT CREATE TABLE TO airflow;
ALTER USER airflow QUOTA UNLIMITED ON USERS;
With that user I attempted to create a private temporary table with the following query:
CREATE PRIVATE TEMPORARY TABLE ora$ppt_temp1 (
name varchar2(7),
age int,
employed int
) ON COMMIT PRESERVE DEFINITION;
I am accessing the database on Python 3.9.13 using SQLAlchemy 1.3.24.
I get the following error:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00903: invalid table name
I also get ORA-00903 when running the query from DBeaver. I have checked the private_temp_table_prefix and it is set to the default value of ORA$PTT_. I have read through the Oracle 19c documentation and several stack overflow questions and cannot see what I am missing here.
I suspect that there is some privilege I need to add or modify to make this work.
As stated this was a typo in the table name.

Synapse Analytics - Can't see the tables list in the dedicated sql pool

In Synapse Analytics portal my account has this permission for the scope Workspace:
Synapse Administrator
Synapse SQL Administrator
I can execute pipelines. but I can't see the list of the objects such as tables, views, ... in the DB
In SSMS I can connect to the sql pool and browse object.
What am I missing ?
You will experience this because Azure Synapse SQL pool named - sspocbi is paused. Make sure the SQL Pool named sspocbi is online to see the tables.
For your understanding I have two Azure Synapse SQL pools named - chepra and SQLPOOL1.
where SQL Pool named chepra is online and SQLPOOL1 is paused.
When check the tables in the databases for the the SQL Pool which is online you can view the tables and for SQL Pool which is paused doesn't show any tables:
Now I tried to resume the Azure Synapse SQL pool named SQLPOOL1
.
A FEW MINUTES LATER: It's shown the tables.
If the database is online, you can view the tables. Else you will see the cross mark which denotes you cannot view the tables.
Thanks it is a good answer, but in my case it was not the issue.
My Azure AD account is admin of the Synapse workspace but was not a user in the pool. I did not create this pool.
By default it seems that only the user who creates the pool will be added automatically.

Power BI report deployment for end user

I have designed a power bi report for a client using data set as his SQL Server database backup in my local system, and publish it on his provided power bi service account, now how do i connect this publish report with my client's local SQL server database?
In other words how my client be able to connect his local system's SQL database with this report?
You can use parameterized connection where you can store your local database access and client database access details, by using:

AWS SCT error while connecting to Teradata

I am trying to connect AWS SCT to Teradata to migrate some tables to Redshift. However, while connecting to Teradata, I am getting the error which says -
"The specified account does not have sufficient privileges for working with the following object(s) :
Database 'DBC' : [SELECT]
Here is the snapshot of the error (Removed some connection details) :
What permissions should I request from the Teradata Admin to provide to the user so that I am able to access my required DB.
User connecting to Teradata should have SELECT access on DBC to pull object metadata to be converted into Redshift DDL
Following the docs, you'll need these permissions:
SELECT ON DBC
SELECT ON SYSUDTLIB
SELECT ON SYSLIB
SELECT ON <source_database>
CREATE PROCEDURE ON <source_database>
In the preceding example, replace the <source_database> placeholder with the name of the source database.

SAS OLE DB connection in Power BI

I need to connect Power BI to SAS using an OLE DB connection (can't use ODBC nor the native connection). Here is the string from the build:
provider=sas.IOMProvider.9.45;data source="iom-name://SASApp - Logical Workspace Server";mode="ReadWrite|Share Deny None";sas cell cache size=10000;sas port=0;sas protocol=0;sas server type=1;sas metadata user id=dxru984;sas metadata password=XXXXX;sas metadata location=iom-bridge://lhwappb1.xxx-xx.xxx:8561
I also tried with this one:
Provider=sas.IOMProvider.9.45;Data Source=iom-name://SASApp - Logical Workspace Server;SAS Cell Cache Size=10000;SAS Port=0;SAS Protocol=0;SAS Server Type=1;SAS Metadata User ID=dxru984;SAS Metadata Password=xxxxxxx;SAS Metadata Location=iom-bridge://lhwappb1.xxx-xx.xxx:8561
The first string works perfectly with Excel but not in PowerBI with that error message:
OLE DB : Format of the initialization string does not conform to the
OLE DB specification
Any idea?
I managed to connect to SAS Federation Server data using the following connection string:
provider=sas.IOMProvider.9.45;data source=blablabla2.abc.pt;sas port=1234;sas protocol=2;sas metadata user id=******;sas metadata password=**********;sas metadata location=blablabla1.abc.pt:5678
Hope this helps,
Rita Dias