How to "Ignore change tracking" in Sql Schema Compare? - visual-studio

Is there a way to ignore "ENABLE CHANGE_TRACKING" in SQL Schema Compare?

Change tracking is a lightweight solution that provides an efficient change tracking mechanism for applications. Typically, to enable applications to query for changes to data in a database and access information that is related to the changes, application developers had to implement custom change tracking mechanisms.
According my experience, we can not ignore the "ENABLE CHANGE_TRACKING" in SQL Schema Compare.
But when the the schema/database duplicated, we can disable Change Tracking manually:
ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = OFF
For more details, please reference: Enable and Disable Change Tracking (SQL Server).
Hope this helps.

Related

Oracle return difference result from the same user but difference windows user

I have two users on windows server
Administrator
devUser
Both can use SQL Developer to connect to Oracle 11g Server (Oracle e-Business suite) but in the same query (from synonym) they got the difference result: devUser got the correct result and Administrator got null in first three columns.
SELECT * from XXAUTO.XXFND_OU_COMPANY_V
where ou_name like 'ASL%'
Query Result from Administrator(Windows User)
Seems like the view has some form of VPD in place. Oracle supports Fine-Grained Access Control through its DBMS_RLS package, which despite the name allows us to implement security policies on columns as well as rows (since 10g). Find out more.
The common model is, when users connect to the database a LOGON trigger populates an application context with details about them. These details are used to generate as additional filters on tables and views which have security policies in place. You can confirm this by using the pertinent views: start with ALL_POLICIES and drill down depending on what you find.
It's possible the view implements a hand-rolled version of this (FGAC is an Enterprise Edition feature) but if you're using EBS that seems unlikely.
Another option is that your database is protected by Oracle Database Vault. This product is a chargeable extra to the EE license. It is a very powerful tool, and one of its uses is to prevent super users like sysadmins or DBAs abusing their privileges to look at sensitive data. It seems unlikely that an organisation would put Database Vault in place on a server that developers have access to but I offer this suggestion for completeness. Find out more.
Thank you for all.
Now I found the problem that is both user set the different Windows locale.

Heroku pgAdmin4 hide databases which I am not allowed to access

As the title states, if I connect to my heroku posgresql DB via pgAdmin4 I see many other databases which I am not allowed to access.
I know there must be a restrction DB field somewhere but I cant find it.
In pgAdmin4 its not in the advanced tab as stated here:
StackOverflow similar Question pgAdmin3
Actually, you can hide the rest of databases.
When you fill in all credentials and connections parameters for the serevr, in order to avoid parsing so many databases, we have to white list only those databases we care about.
Go to the Advanced tab and under db restriction copy the database name (it’s the same value as the Maintenance database field filled earlier). Remember - you have to set up this parameter BEFORE you hit "Save" as you cannot modify this field after saving.
Source: https://medium.com/#vapurrmaid/getting-started-with-heroku-postgres-and-pgadmin-run-on-part-2-90d9499ed8fb
You're probably using a Hobby-Dev or Hobby-Basic database. These used shared infrastructure. Although you can see the other (obfuscated) DB's in the list, you do not have access to them. To avoid seeing them, specify the DB name in your connection settings in pgAdmin.

Why does Netbeans 8.1 database results not allow CrUD or "Show SQL" operations when using JTOpen on a DB2 database?

Anyone know why the Netbeans IDE's Database result explorer disables CrUD operations and "Show SQL 'CrUD' Operation" when using a JDBC connection via JTOpen 9.1 driver to a DB2 for i database with Netbeans 8.1?
JTOpen is a open source JDBC driver to IBM i DB2 for i database in addition to bunch of Java Classes for interacting with the IBMi system. http://jt400.sourceforge.net/
I tried a few JDBC connection properties but no cigar...
I guess i'll have to keep browsing the IBM KB
http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/jdbcproperties.htm
and the JT400 source
https://github.com/devjunix/libjt400-java/blob/master/src/com/ibm/as400/access/JDProperties.java
Many DB2 for i systems are configured to not use commitment control or journaling. This is not what many toolkits expect to see. Try changing the connection string to tell Netbeans that you don't want commitment control.
Add "extended metadata=true" in the connection properties fixed my issue.
https://godzillai5.wordpress.com/2016/08/21/jdbc-jt400-setting-to-get-crud-and-show-sql-features-added-in-netbeans-with-ibm-db2-for-i/
The IBM documentation here http://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/jdbcproperties.htm
"extended metadata"
Specifies whether the driver requests extended metadata from the
server. Setting this property to true increases the accuracy of the
information returned from the following ResultSetMetaData methods:
getColumnLabel(int) isReadOnly(int) isSearchable(int) isWriteable(int)
apparently readonly for the result set is incorrectly assumed true, unless the ext. metadata comes back with the actual value for isReadOnly(int). I'm guessing that its assumed false because on the initial connection the connection property "Read Only" is true. It would be helpful to understand what setting on the system or the Library/Schema is causing the connection to have that property.
The most obvious reason for the original image showing just some read-only operations presented, would seem to have been the "access" attribute for the connection; i.e. if set to "read only", that would limit access to SELECT statements only. But with the new information showing the connection properties, seems the readOnly=false, so that "access" attribute should not be the origin for the issue.
I suspect that for any given TABLE, the issue might be for lack of a PRIMARY KEY CONSTRAINT; i.e. IIRC, some client database applications might prevent update-capable mode for a particular TABLE, if that TABLE is not known to have a PK.

Power BI dynamic filtering according to user account

I want to develop indicators using Microsoft Power BI.
I have a Datawarehouse on SQL Server and I directly query from the DW.
I would like to display different information according to the user accessing the report.
I didn't find a way on how I can dynamically filter the data according to the user account.
Is it possible?
If not, then what are the possible solutions to do it?
I believe what you are looking for is Row-Level Security and it is out with Sql server 2016 and Azure Sql DB, check here: https://msdn.microsoft.com/en-us/library/dn765131.aspx
I too have been looking for a similar solution to the same problem, I am using Azure SQL DW and I have been told the Row-Level Security will be coming to AzureSQLDW with GA, but not sure of the date on that.
So back to your question as far as I know the only possible solutions would be to use Sql 2016 Row-Level Security or you can also use SSAS in front of your data warehouse.
Hope that helps.

SQL Azure and READ_COMMITTED_SNAPSHOT

I would like to set READ_COMMITTED_SNAPSHOT to ON on my SQL Azure database, but the following code, which works with other versions of SQL Server, is not supported in Azure:
ALTER DATABASE [database_name]
SET READ_COMMITTED_SNAPSHOT ON
GO
First question: Is it still a good idea to set READ_COMMITTED_SNAPSHOT to ON in SQL Azure (or whatever achieves the same result)? My intention is not to lock records when they are just being read, in order to improve performance.
Second question: If it is a good idea, what's the Azure syntax for doing it?
From what I can tell based on this MSDN article the setting you are after is on by default and cannot be changed. More details about the Isolation Levels themselves can be found here.

Resources